package com.iot.ammeter.mapper.web.provider;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.iot.ammeter.dto.web.provider.ProviderDTO;
import com.iot.ammeter.dto.web.user.WebUserAndProvider;
import com.iot.ammeter.entity.web.provider.Provider;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 属服务商，组织 Mapper 接口
 * </p>
 *
 * @author basil
 * @since 2021-09-25
 */
@Mapper
public interface ProviderMapper extends BaseMapper<Provider> {

    /**
     * 查询市级下的服务商
     *
     * @return List 服务商列表
     */
    List<ProviderDTO> listAllProvider();

    /**
     * 查询web端用户与服务商的联系
     *
     * @param webUserId web端用户id
     * @return WebUserAndProvider
     */
    WebUserAndProvider selectWebUSerAndProvider(@Param("webUserId") String webUserId);

    /**
     * 插入或者更新web端用户与服务商的联系
     *
     * @param wp web端用户与服务商的联系
     * @return int
     */
    int saveOrUpdateProviderAndWebUser(@Param("wp") WebUserAndProvider wp);


    /**
     * 查询服务商下的用户人数
     *
     * @param providerIds 服务商id
     * @return 记录条数
     */
    Integer selectCountProviderWebUser(@Param("providerIds") List<String> providerIds);
}
